1. Field of the Invention
This invention relates to computer systems and more particularly to real time clock (RTC) alarm circuits employed within computer systems.
2. Description of the Relevant Art
In modern computer systems, a real time clock (RTC) circuit is typically employed to keep track of the time of day. A typical RTC can be programmed to produce or generate an RTC alarm event at a designated time. The RTC alarm event may cause, for example, the assertion of an interrupt signal to the microprocessor.
Within a typical model 80486-based system, a set of I/O indexed configuration registers are mapped at a pre-designated I/O region of the computer system to store the current time and date as well as the time at which an RTC alarm event is desired. However, configuration registers are not allocated for storing the day, the month, or the year of a desired RTC alarm event. As a result, system software must be configured to keep track of the particular day, month, and year for a desired RTC alarm event if such selectivity is desired. In other words, the RTC alarm for a model 80486 system will occur twice (or once) per day, and system software must keep track of each RTC alarm to determine whether it is the designated day, month, and year for triggering a desired system response.
An RTC alarm is typically employed within power managed portable computer systems that utilize suspend (i.e., power-down) and resume features. Such computer systems can be programmed to suspend or resume at a specific date and time. Since the RTC alarm event will occur once or twice every 24 hours, the system management software must keep track of the alarm events to determine the specific day, month, and year at which a particular RTC alarm event occurred. This adds to the system overhead and also degrades battery life since the computer system must be resumed to evaluate (via software) each alarm event. That is, if a specific date is specified by the programmer to trigger a particular event, the computer system software must turn on the computer system up to twice a day to determine whether the desired date has arrived.
A further complication is that for most computer systems, memory space and I/O space are distributed across several physical devices and are often limited. Typical computer systems have undergone a complex evolutionary path with respect to the mapping of memory and I/O space in order to maintain backwards compatibility with existing hardware and software. As a result of this complex evolutionary path, the allocation of additional I/O index space for additional RTC alarm functions may conflict with the predefined I/O index mapping of other I/O peripheral devices. As a result, changes in the hardware (i.e., the number of indexed configuration registers) associated with the RTC alarm to reduce the overhead of the system software could adversely affect the overall compatibility of the computer system with other I/O peripherals.